1. Field of the Invention
The present invention relates to an echo canceler used in, for example, a hands-free communication device.
2. Description of the Related Art
FIG. 4 shows an example of the structure of a hands-free communication device having a conventional echo canceler. The echo canceler 1 includes a predictive filter 2 and an adder 3. The device also comprises a speaker amplifier 4 with a volume control, a loudspeaker 5, and a microphone 6.
The predictive filter 2 generates an echo replica signal by predicting the echo of the received far-end signal that will enter the microphone 6 via an acoustic coupling path or echo path from the loudspeaker 5. The echo replica signal is subtracted from the actual echo signal by the adder 3, thereby canceling the echo.
A problem in a hands-free communication device with the structure described above is that the echo is inadequately cancelled in the following two situations.                (1) As shown in FIG. 5, if the speaker amplifier 4 is adjusted to so high a volume level that the output of the speaker amplifier 4 saturates, causing parts of the output waveform to be clipped at the saturation amplitude level, the echo signal that reaches the sending input terminal Sin of the echo canceler 1 via the echo path is distorted. The predictive filter 2 cannot anticipate this distortion and predicts the echo signal inaccurately, increasing the difference between the waveform of the echo replica signal and the waveform of the echo signal. Echo cancellation performance suffers accordingly.        (2) If the attenuation on the echo path is so small that the level of the echo signal input to the sending input terminal Sin of the echo canceler 1 is higher than the level of the signal output from the receiving output terminal Rout, as shown in FIG. 6, then unless the precision of the predictive filter is increased by increasing the number of bits used to represent signal values, the prediction error is amplified and echo cancellation performance suffers severely. Increasing the number of bits, however, increases the size of the predictive filter, leading to increased cost.        